import { createRouter, createWebHistory } from 'vue-router'
import Layout from '@/layouts/BasicLayout.vue'
import { RouterView } from 'vue-router'
import Logger from '@/util/log'
import { useTokenStore } from '@/stores/token'

export const constantRouterMap = [
  {
    path: '/login',
    name: 'login',
    component: () => import('@/views/login/index.vue'),
    meta: {
      hideInMenu: true,
    },
  },
  {
    path: '/register',
    name: 'register',
    component: () => import('@/views/register/index.vue'),
    meta: {
      hideInMenu: true,
    },
  },
  {
    path: '/exception/404',
    name: 'exception404',
    component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404.vue'),
    meta: {
      hideInMenu: true,
    },
  },
  {
    path: '/exception/500',
    name: 'exception500',
    component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/500.vue'),
    meta: {
      hideInMenu: true,
    },
  },
  // 这里要加在动态路由后面，
  // {
  //   path: '/:pathMatch(.*)*',
  //   redirect: '/404',
  //   meta: {
  //     hideInMenu: true,
  //   },
  // },
]

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  // routes: [
  // {
  //   path: '/',
  //   name: 'index',
  //   component: Layout,
  //   redirect: '/dashboard',
  //   children: [
  //     {
  //       path: '/dashboard',
  //       name: 'dashboard',
  //       component: RouterView,
  //       meta: {
  //         title: '仪表盘',
  //         icon: 'stopwatch',
  //       },
  //       redirect: '/dashboard/workplace',
  //       children: [
  //         {
  //           path: '/dashboard/workplace',
  //           name: 'dashboardWorkplace',
  //           component: () => import('@/views/dashboard/Workplace.vue'),
  //           meta: {
  //             title: '工作台',
  //             icon: 'dataBoard',
  //           },
  //         },
  //         {
  //           path: '/dashboard/analysis',
  //           name: 'dashboardAnalysis',
  //           component: () => import('@/views/dashboard/Analysis.vue'),
  //           meta: {
  //             title: '分析页',
  //             icon: 'dataAnalysis',
  //           },
  //         },
  //       ],
  //     },
  //     {
  //       path: '/usermgr',
  //       name: 'usermgr',
  //       component: RouterView,
  //       meta: {
  //         title: '用户管理',
  //         icon: 'user',
  //       },
  //       redirect: '/usermgr/account',
  //       children: [
  //         {
  //           path: '/usermgr/account',
  //           name: 'usermgrAccount',
  //           component: () => import('@/views/usermgr/User.vue'),
  //           meta: {
  //             title: '账号',
  //             icon: 'creditCard',
  //           },
  //         },
  //         {
  //           path: '/usermgr/role',
  //           name: 'usermgrRole',
  //           component: () => import('@/views/usermgr/Role.vue'),
  //           meta: {
  //             title: '角色',
  //             icon: 'cherry',
  //           },
  //         },
  //         {
  //           path: '/usermgr/permission',
  //           name: 'usermgrPermission',
  //           component: () => import('@/views/usermgr/Permission.vue'),
  //           meta: {
  //             title: '权限',
  //             icon: 'apple',
  //           },
  //         },
  //       ],
  //     },
  //     {
  //       path: '/system',
  //       name: 'system',
  //       component: RouterView,
  //       redirect: '/system/account',
  //       meta: {
  //         title: '系统管理',
  //         icon: 'grid',
  //       },
  //       children: [
  //         {
  //           path: '/system/account',
  //           name: 'systemAccount',
  //           component: () => import('@/views/system/Account.vue'),
  //           meta: {
  //             title: '个人中心',
  //             icon: 'postcard',
  //           },
  //         },
  //         {
  //           path: '/system/settings',
  //           name: 'systemSettings',
  //           component: () => import('@/views/system/Settings.vue'),
  //           meta: {
  //             title: '系统设置',
  //             icon: 'setting',
  //           },
  //         },
  //         {
  //           path: '/system/api',
  //           name: 'systemApi',
  //           component: () => import('@/views/system/Api.vue'),
  //           meta: {
  //             title: 'API管理',
  //             icon: 'magicStick',
  //           },
  //         },
  //       ],
  //     },
  //     {
  //       path: '/devops',
  //       name: 'devops',
  //       component: RouterView,
  //       meta: {
  //         title: 'DevOps',
  //         icon: 'sugar',
  //       },
  //       redirect: '/devops/log',
  //       children: [
  //         {
  //           path: '/devops/log',
  //           name: 'devopsLog',
  //           component: () => import('@/views/devops/Log.vue'),
  //           meta: {
  //             title: '运行日志',
  //             icon: 'document',
  //           },
  //         },
  //         {
  //           path: '/devops/vm',
  //           name: 'devopsVm',
  //           component: () => import('@/views/devops/Vm.vue'),
  //           meta: {
  //             title: '服务器状态',
  //             icon: 'monitor',
  //           },
  //         },
  //       ],
  //     },
  //   ],
  // },
  // ],
  routes: constantRouterMap,
})

// router.beforeEach((to, from, next) => {
//   const tokenStore = useTokenStore()
//   if (to.name === 'login' || to.name === 'register') {
//     next()
//     return
//   }
//   if (!tokenStore.getToken()) {
//     Logger.warn('登陆失效，跳转到登录页......')
//     next('/login')
//   }
//   next()
// })

export default router
